Helm 进行版本管理
初始化 Helm 仓库
在使用 Helm 之前,你需要初始化 Helm 仓库:
helm repo add stable https://charts.helm.sh/stable
helm repo update
这些命令添加了一个官方的稳定仓库,并更新了仓库列表。
部署应用
部署一个应用时,你会使用 helm install
命令。例如,部署一个名为 my-release
的 nginx
应用:
helm install my-release stable/nginx
这将创建一个名为 my-release
的新发布,并且会自动为这个发布创建一个新的版本号。
查看发布历史
你可以使用 helm history
命令来查看一个发布的所有版本:
helm history my-release
这会显示 my-release
的所有版本,包括版本号、发布状态、部署时间等。
更新应用
更新应用时,使用 helm upgrade
命令,并且可以修改配置参数或者升级到新的图表版本。例如:
helm upgrade my-release stable/nginx --set service.type=LoadBalancer
这会将 my-release
升级到最新版本,并更改服务类型为 LoadBalancer
。Helm 会创建一个新的版本来反映这个更改。
回滚发布
如果需要将应用回滚到之前的版本,可以使用 helm rollback
命令。例如,回滚到版本 2:
helm rollback my-release 2
这会将 my-release
回滚到版本 2。Helm 实际上是以新的发布版本来部署旧版本的图表和配置。
删除发布
如果想要彻底删除一个发布,可以使用 helm uninstall
命令:
helm uninstall my-release
这会删除 my-release
但是保留历史记录,这样你可以在需要时回滚到先前的状态。
清理旧版本
为了保存存储空间,你可能需要删除旧的发布版本。可以通过设置参数来限制保留的历史版本数量:
helm install --history-max 5 my-release stable/nginx
helm upgrade --history-max 5 my-release stable/nginx
--history-max
参数限制 Helm 保留的历史记录的数量。
查看发布状态
要查看当前的发布状态,可以使用:
helm status my-release
这会显示当前发布 my-release
的详细状态信息。
总结一下,Helm 的版本管理允许你跟踪每次发布的变化,并在需要时轻松地回滚到以前的版本。Helm 的 upgrade
和 rollback
命令都会增加发布的版本号,提供了一种简单的方式来管理和维护 Kubernetes 应用的生命周期。